#include <stdio.h>
#include <string.h>

#define NameSize 10
struct Student // 结构体名：Student
{
    int id;              // 学号
    char Name[NameSize]; // 姓名
};
typedef struct Student Stu;

void SetID(Stu *s, int id)
{
    s->id = id;
}

void SetName(Stu *s, const char *Name)
{
    strcpy(s->Name, Name);
}

void PrintStu(Stu *s)
{
    printf("学生学号:%d 姓名:%s\n", s->id, s->Name); // 指针用箭头访问
}

int main()
{
    // Student s;  //不能这样写
    // struct Student s;
    // Stu s;  // 用重定义的方式简化命名

    // 初始化
    // Stu s = {1, "zhangsan"};
    // s.id = 2; // 取出结构体中的id变量
    // strcpy(s.Name, "lisi");
    // printf("学生学号:%d 姓名:%s\n", s.id, s.Name);
    // PrintStu(&s);
 
    //使用函数为结构体赋值
    Stu s;
    SetID(&s, 1);
    SetName(&s, "lisi");
    PrintStu(&s);

    return 0;
}
